package shujia.day09;

import java.util.ArrayList;
import java.util.Collection;

/*
    想一下，目前为止，我们学过哪些可以存储元素的容器：
        1、数组，查询快，增删慢。
            既可以存储基本数据类型的元素，又可以存储引用数据类型的元素
            对于同一个数组而言，元素类型都是一样
            长度一旦创建旧固定了，不能改变长度。

        2、StringBuffer
            长度可以随着添加的字符个数而改变
            StringBuffer容器中的元素就一种类型，字符类型

    针对不同的数据结构，存储方式以及取出方式不同，java提供了许多不同种类特点的容器【集合】
    也就是java是通过类去描述一个事物的，不同的容器，也会提供不同的集合类

    Collection【接口】:
        - List【接口】：
            - ArrayList【子类】

    借助实现类：ArrayList学习Collection接口中的方法
    ArrayList类中的构造方法：
        ArrayList() 构造一个初始容量为十的空列表。


    学习任意集合的步骤：
        1、创建集合对象
        2、创建元素对象
        3、将元素对象放入到集合中
        4、遍历集合

    Collection接口中的方法：
        boolean add(Object e)
        boolean remove(Object o)
        void clear()
        boolean contains(Object o)
        boolean isEmpty()
        int size()


 */
public class CollectionDemo1 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        System.out.println("c1: " + c1);

        // boolean add(Object e) 向集合中添加元素
        c1.add(10); // 自动装箱，将int类型的值封装成包装类对象
        c1.add(12.34);
        c1.add(true);
        c1.add("hello");
        System.out.println("c1: " + c1);

        //[10, 12.34, true, hello]
        //boolean remove(Object o) 从集合中移除某一个元素
        c1.remove(100);
        System.out.println("c1: " + c1);

        //void clear() 将集合中元素清空
//        c1.clear();
//        System.out.println("c1: " + c1);

        //boolean contains(Object o) 判断集合中是否包含某个类型的元素
        System.out.println(c1.contains("hello"));

        //boolean isEmpty() 判断集合中是否有元素存在
        System.out.println(c1.isEmpty());

        //int size() 获取集合中元素的个数【集合的长度】
        System.out.println(c1.size());

    }
}
